//简单的设计模式
class Obj {
    constructor() {
        this.name = '张三';
    }
    getName() {
        return this.name;
    }
}

var getRun = (function() {
    var run = null;
    return function() {
        if (!run) {
            run = new Obj();
        }
        return run;
    }
})();

var a = getRun();
var b = getRun();
console.log(a.name); //张三
console.log(b.name); //张三
console.log(a === b); //true


// 实际应用点击按钮， 无论点击多少下， 都只出现一个盒子
// var create = (function() {
//     var odiv;
//     return function() {
//         if (!odiv) {
//             odiv = document.createElement('div');
//             odiv.innerHTML = '小盒子';
//             odiv.style.display = 'none';
//             document.body.appendChild(odiv);
//         }
//         return odiv;
//     }
// })()

// var btn = document.getElementById('btn');
// btn.onclick = function() {
//     var w = create();
//     w.style.display = 'block'
// }